package cn.oms.stock.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("drug_purchase_record")
@ApiModel(value="DrugPurchaseRecord对象", description="")
public class DrugPurchaseRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "进货药品ID（新增生成）")
    @TableField("ID")
    private String id;

    @ApiModelProperty(value = "入库批次号CODE（新增入库填写）（用于关联发药历史）（PP201202007）")
    @TableField("PURCHASE_BATCH_CODE")
    private String purchaseBatchCode;

    @ApiModelProperty(value = "采购记录CODE（对应采购记录）")
    @TableField("PURCHASE_RECORD_CODE")
    private String purchaseRecordCode;

    @ApiModelProperty(value = "采购单号（对应采购单）")
    @TableField("PURCHASE_ORDER_NO")
    private String purchaseOrderNo;

    @ApiModelProperty(value = "产品CODE（对应药品知识库的药品代码）")
    @TableField("ITEM_CODE")
    private String itemCode;

    @ApiModelProperty(value = "产品详情（对应药品详情信息、名称、大小）")
    @TableField("ITEM_DESCRIPTION")
    private String itemDescription;

    @ApiModelProperty(value = "产品包装CODE（产品包装）")
    @TableField("ITEM_SPECIFICATION_CODE")
    private String itemSpecificationCode;

    @ApiModelProperty(value = "产品包装规格详情（10mg,20mg）（10 tab/roll dis、12 tab/set、10 tab/bag）")
    @TableField("ITEM_SPECIFICATION_DETAIL")
    private String itemSpecificationDetail;

    @ApiModelProperty(value = "产品生产厂家CODE（对应厂家表）")
    @TableField("MANUFACTURER_CODE")
    private String manufacturerCode;

    @ApiModelProperty(value = "产品生产厂家信息名称（对应厂家表）")
    @TableField("MANUFACTURER_NAME")
    private String manufacturerName;

    @ApiModelProperty(value = "入库产品厂家批准代码（国药准字号）")
    @TableField("MANUFACTURER_APPROVAL_CODE")
    private String manufacturerApprovalCode;

    @ApiModelProperty(value = "入库药房CODE（对应药房信息表）")
    @TableField("DEPARTMENT_CODE")
    private String departmentCode;

    @ApiModelProperty(value = "入库药房名称（对应药房信息表）")
    @TableField("DEPARTMENT_NAME")
    private String departmentName;

    @ApiModelProperty(value = "货架位置（ Z1-AS2-03 (S)、Z1-A101-01 (W)）")
    @TableField("SHELF_LOCATION")
    private String shelfLocation;

    @ApiModelProperty(value = "计划入库量")
    @TableField("PLAN_STORAGE_QTY")
    private BigDecimal planStorageQty;

    @ApiModelProperty(value = "实际入库量")
    @TableField("ACTUAL_STORAGE_QTY")
    private BigDecimal actualStorageQty;

    @ApiModelProperty(value = "基本单位CODE")
    @TableField("BASE_UNIT_CODE")
    private String baseUnitCode;

    @ApiModelProperty(value = "基本单位(简称)（中文）")
    @TableField("BASE_UNIT_NAME_CN")
    private String baseUnitNameCn;

    @ApiModelProperty(value = "基本单位(简称)（英文）")
    @TableField("BASE_UNIT_NAME_EN")
    private String baseUnitNameEn;

    @ApiModelProperty(value = "药品过期时间")
    @TableField("EXPIRATION_TIME")
    private LocalDate expirationTime;

    @ApiModelProperty(value = "过期状态（药品是否过期判断 0没过期 1过期）")
    @TableField("EXPIRATION_STATE")
    private Integer expirationState;

    @ApiModelProperty(value = "补货发起人ID")
    @TableField("PURCHASE_MAN_ID")
    private String purchaseManId;

    @ApiModelProperty(value = "补货发起人姓名")
    @TableField("PURCHASE_MAN_NAME")
    private String purchaseManName;

    @ApiModelProperty(value = "入库时间（创建时间）")
    @TableField("STORAGE_TIME")
    private LocalDate storageTime;

    @ApiModelProperty(value = "入库人ID")
    @TableField("STORAGE_MAN_ID")
    private String storageManId;

    @ApiModelProperty(value = "入库人名称")
    @TableField("STORAGE_MAN_NAME")
    private String storageManName;

    @ApiModelProperty(value = "创建时间（配药记录）")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
